package com.edais.persistence;

import java.util.HashMap;
import java.util.List;
import java.util.Map;

import org.apache.ibatis.annotations.Param;

import com.edais.domain.GetKeyCodeRecode;
import com.edais.domain.UserActivityKeyCode;

public interface KeycodeSendRecordMapper {
	
	/**
	 * 
	 * @Description:  增加短信发送记录
	 * @return  
	 * @return int  
	 * @author ruXinChao
	 * @date 2016-9-19  下午4:28:02
	 */
	
	int insertSelective(GetKeyCodeRecode getKeyCodeRecode);
	
	/**
	 * 
	 * @Description: 更新K码发送表状态
	 * @param map
	 * @return  
	 * @return int  
	 * @author ruXinChao
	 * @date 2016-9-19  下午5:45:58
	 */
	int updateKCodeSendStatus(Map<String, Object> map);
	
	/**
	 * 
	 * @Description: 更新T_USER_ACTIVITY_KEYCODE_LIST 的状态根据cardeNo
	 * @param map
	 * @return  
	 * @return int  
	 * @author ruXinChao
	 * @date 2016-9-19  下午5:56:03
	 */
	int updateActivityKeyCodeByCardNo(Map<String, Object> map);
	/**
	 * 查询发送短信记录
	 * 
	 * @return String
	 */
	List<GetKeyCodeRecode> getKeyCodeRecodeByParm(Map<String, Object> map);
	
	/**
	 * 根据用户id获取发送短信的记录
	 * 
	 * @return String
	 */
	GetKeyCodeRecode getKeyCodeRecodeByUserId(@Param("userid") String userId);
	
	
	/**
	 * 
	 * @Description: 根据渠道拿出10条该渠道未分配的code
	 * @param channelId 渠道Id
	 * @return  
	 * @return UserActivityKeyCode  
	 * @author ruXinChao
	 * @date 2016-9-19  下午3:11:21
	 */
	List<UserActivityKeyCode> getKeyCodeListByParm(@Param("channelId") Integer channelId);
	
	/**
	 * 
	 * @Description: 根据渠道Id获得加密密钥
	 * @param map
	 * @return  
	 * @return HashMap<String,Object>  
	 * @author ruXinChao
	 * @date 2016-9-20  下午1:22:33
	 */
	HashMap<String, Object> getSecretKey(@Param("channelId") Integer channelId);
	
	/**
	 * 
	 * @Description: 
	 * @param urlName 获得发送K码短信的Url 域名（ip+端口）
	 * @return  
	 * @return HashMap<String,Object>  
	 * @author ruXinChao
	 * @date 2016-9-21  上午10:50:23
	 */
	HashMap<String, Object> getSendMsgKcodeUrl(@Param("urlName") String urlName);

}
